home *** CD-ROM | disk | FTP | other *** search
/ CD ROM Paradise Collection 4 / CD ROM Paradise Collection 4 1995 Nov.iso / graphics / rvga01.zip / MOUSE.C < prev    next >
C/C++ Source or Header  |  1994-08-10  |  3KB  |  157 lines

  1.  
  2. /************************************************************************
  3. **                                                                     **
  4. **  Mouse Routines for Borland C/C++ V3.0 written by Patrik Wallstrom  **
  5. **                                                                     **
  6. **  Only TEXT Mode supported so far... (But try graphics though...)    **
  7. **                                                                     **
  8. **  Rewritten 13/2-94 using inline assembler instead of DOS.H...       **
  9. **  Rewritten 26/7-94 using new 'standardized' function names... :-)   **
  10. **  Rewritten 26/7-94 - Comments                                       **
  11. **                                                                     **
  12. ************************************************************************/
  13.  
  14.  
  15. #include "mouse.h"
  16.  
  17.  
  18. /**********************************************
  19.  
  20.     Initialize Mouse
  21.  
  22. **********************************************/
  23.  
  24. UWORD M_Init(void)
  25. {
  26.     asm    xor    ax,ax;
  27.     asm    int    MOUSE;
  28.  
  29.     return _AX;
  30. }
  31.  
  32.  
  33. /**********************************************
  34.  
  35.     Reset Mouse
  36.  
  37. **********************************************/
  38.  
  39. UWORD M_Reset(void)
  40. {
  41.     asm    mov    ax,0x21;
  42.     asm    int    MOUSE;
  43.  
  44.     return _AX;
  45. }
  46.  
  47.  
  48. /**********************************************
  49.  
  50.     Display Mouse Pointer
  51.  
  52. **********************************************/
  53.  
  54. void M_Display(void)
  55. {
  56.     asm    mov    ax,0x01;
  57.     asm    int    MOUSE;
  58. }
  59.  
  60.  
  61. /**********************************************
  62.  
  63.     Hide Mouse Pointer
  64.  
  65. **********************************************/
  66.  
  67. void M_Hide(void)
  68. {
  69.     asm    mov    ax,0x02;
  70.     asm    int    MOUSE;
  71. }
  72.  
  73.  
  74. /**********************************************
  75.  
  76.     Read Mouse Pointer X/Y Position
  77.  
  78. **********************************************/
  79.  
  80. UWORD M_ReadXY(UWORD *_MouseX, UWORD *_MouseY)
  81. {
  82.     asm    mov    ax,0x03;
  83.     asm    int    MOUSE;
  84.  
  85. //    asm    mov    *_MouseX,cx;
  86. //    asm    mov    *_MouseY,dx;
  87.  
  88.     *_MouseX=_CX;
  89.     *_MouseY=_DX;
  90.  
  91.     return _BX;
  92. }
  93.  
  94.  
  95. /**********************************************
  96.  
  97.     Set Mouse Pointer X/Y Position
  98.  
  99. **********************************************/
  100.  
  101. void M_SetXY(UWORD _MouseX, UWORD _MouseY)
  102. {
  103.     asm    mov    ax,0x04;
  104.     asm    mov    cx,_MouseX;
  105.     asm    mov    dx,_MouseY;
  106.     asm    int    MOUSE;
  107. }
  108.  
  109.  
  110. /**********************************************
  111.  
  112.     Limit Mouse Pointer Movement
  113.  
  114. **********************************************/
  115.  
  116. void M_LimitXY(UWORD _MouseX1, UWORD _MouseY1, UWORD _MouseX2, UWORD _MouseY2)
  117. {
  118.     asm    mov    ax,0x07
  119.     asm    mov    cx,_MouseX1;
  120.     asm    mov    dx,_MouseX2;
  121.     asm    int    MOUSE;
  122.  
  123.     asm    mov    ax,0x08;
  124.     asm    mov    cx,_MouseY1;
  125.     asm    mov    dx,_MouseY2;
  126.     asm    int    MOUSE;
  127. }
  128.  
  129.  
  130. /**********************************************
  131.  
  132.     Set double speed threshold
  133.  
  134. **********************************************/
  135.  
  136. void M_Threshold(UWORD _MouseXX)
  137. {
  138.     asm    mov    ax,0x13;
  139.     asm    mov    dx,_MouseXX;
  140.     asm    int    MOUSE;
  141. }
  142.  
  143.  
  144. /**********************************************
  145.  
  146.     Set Mouse Sensitivity
  147.  
  148. **********************************************/
  149.  
  150. void M_Sensitivity(UWORD _MouseX,UWORD _MouseY)
  151. {
  152.     asm    mov    ax,0x0f;
  153.     asm    mov    cx,_MouseX;
  154.     asm    mov    dx,_MouseY;
  155.     asm    int    MOUSE;
  156. }
  157.